import request from "@/utils/request";

const Group_BASE_URL = "/api/v1/group";

const GroupAPI = {
  /**
   * 获取等级列表
   *
   * @returns 树形表格数据
   */
  getLevelList() {
    return request<any, LevelVO[]>({
      url: `${Group_BASE_URL}`,
      method: "get",
    });
  },

  /**
   * 新增
   *
   * @param data 表单数据
   * @returns 请求结果
   */
  create(data: LevelForm) {
    return request({
      url: `${Group_BASE_URL}`,
      method: "post",
      data,
    });
  },

  /**
   * 修改
   *
   * @param id ID
   * @param data 表单数据
   * @returns 请求结果
   */
  update(id: string, data: LevelForm) {
    return request({
      url: `${Group_BASE_URL}/${id}`,
      method: "put",
      data,
    });
  },

  /**
   * 删除
   *
   * @param ids ID，多个以英文逗号(,)分隔
   * @returns 请求结果
   */
  deleteByIds(ids: string) {
    return request({
      url: `${Group_BASE_URL}/${ids}`,
      method: "delete",
    });
  },
};

export default GroupAPI;

/** 团队查询参数 */
export interface GroupQuery {
  /** 搜索关键字 */
  keywords?: string;
  /** ID */
  id?: number;
  /** 等级 */
  level?: number;
}

/** 团队列表 */
export interface GroupVO {
  /** 创建时间 */
  createTime?: string;
  /** ID */
  id?: string;
  /** 广告商人数 */
  ad_number?: number;
  /** 账号 */
  account?: string;
  /** 排序 */
  sort?: number;
  /** 注册人数 */
  register_number?: number;
  /** 等级 */
  level?: string;
  /** 持有积分 */
  total_score?: number;
  /** 头像 */
  avatar?: string;
}

/** 等级类型 */
export interface LevelVO {
  /** 创建时间 */
  createTime?: string;
  /** ID */
  id?: string;
  /** 团队级别 */
  name?: string;
  /** 排序 */
  sort?: number;
  /** 收益比例 */
  rate?: string;
}

/** 等级表单类型 */
export interface LevelForm {
  /** ID(新增不填) */
  id?: string;
  /** 团队级别名称 */
  name?: string;
  /** 收益比例 */
  rate: string;
  /** 排序 */
  sort?: number;
  /** 状态(1:启用；0：禁用) */
  status?: number;
}
